En un estudio sobre el tiempo de reacción bajo la influencia del alcohol, se piensa que la edad es otro factor que puede afectar el tiempo de reacción. Los sujetos de prueba (individuos) fueron clasificados dentro de tres grupos de edad: 20-39, 40-59, 60 y mas. En cada uno de los grupos de edad, cada tratamiento (0 oz., 1 oz., 2oz.) fue aleatoriamente asignado a 4 individuos y se obtuvieron los siguientes resultados. El tiempo de reacción es medido en segundos. (usar una significancia del 5%).
| Edad | Cantidad de Alcohol | ||
|---|---|---|---|
| 0 oz. | 1 oz. | 2oz. | |
| 20 - 39 | 0.42 | 0.49 | 0.65 |
| 0.45 | 0.47 | 0.60 | |
| 0.39 | 0.46 | 0.70 | |
| 0.40 | 0.51 | 0.66 | |
| 40 - 59 | 0.51 | 0.70 | 1.05 |
| 0.55 | 0.69 | 1.10 | |
| 0.53 | 0.73 | 0.98 | |
| 0.50 | 0.75 | 1.12 | |
| 60 y más | 0.60 | 0.85 | 1.25 |
| 0.59 | 0.79 | 1.20 | |
| 0.58 | 0.88 | 1.30 | |
| 0.61 | 0.90 | 1.27 |
Para este experimento, un diseño experimental apropiado sería un diseño factorial \(3\times 3\). Esto implicaría que tenemos dos factores: la edad (con tres niveles: \(20-39\), \(40-59\), \(60\) y más) y la cantidad de alcohol (con tres niveles: \(0 oz.\), \(1 oz.\), \(2 oz.\)). Cada combinación de nivel de edad y nivel de cantidad de alcohol constituiría una condición experimental.
Con un diseño factorial \(3\times 3\), podemos investigar tanto los efectos principales de la edad y la cantidad de alcohol, como también la posible interacción entre ambos factores. Esto nos permitirá entender cómo influyen la edad y la cantidad de alcohol en el tiempo de reacción y si hay alguna relación compleja entre estos dos factores.
Además, dado que se asignaron aleatoriamente tratamientos a individuos dentro de cada grupo de edad, podemos controlar mejor la variabilidad y minimizar el sesgo en nuestra estimación de los efectos.
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.4 ✔ readr 2.1.5
## ✔ forcats 1.0.0 ✔ stringr 1.5.1
## ✔ ggplot2 3.5.1 ✔ tibble 3.2.1
## ✔ lubridate 1.9.3 ✔ tidyr 1.3.1
## ✔ purrr 1.0.2
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
alcohol <- read.csv("alcohol.csv")
alcohol
## Edades oz0 oz1 oz2
## 1 20 - 39 0.42 0.49 0.65
## 2 20 - 39 0.45 0.47 0.60
## 3 20 - 39 0.39 0.46 0.70
## 4 20 - 39 0.40 0.51 0.66
## 5 40 - 59 0.51 0.70 1.05
## 6 40 - 59 0.55 0.69 1.10
## 7 40 - 59 0.53 0.73 0.98
## 8 40 - 59 0.50 0.75 1.12
## 9 60 y mas 0.60 0.85 1.25
## 10 60 y mas 0.59 0.79 1.20
## 11 60 y mas 0.58 0.88 1.30
## 12 60 y mas 0.61 0.90 1.27
Usando pivot_longer para tabla larga
alcohol <- alcohol %>% pivot_longer(cols = oz0:oz2, names_to = "Alcohol",
values_to = "Segundos")
alcohol
## # A tibble: 36 × 3
## Edades Alcohol Segundos
## <chr> <chr> <dbl>
## 1 20 - 39 oz0 0.42
## 2 20 - 39 oz1 0.49
## 3 20 - 39 oz2 0.65
## 4 20 - 39 oz0 0.45
## 5 20 - 39 oz1 0.47
## 6 20 - 39 oz2 0.6
## 7 20 - 39 oz0 0.39
## 8 20 - 39 oz1 0.46
## 9 20 - 39 oz2 0.7
## 10 20 - 39 oz0 0.4
## # ℹ 26 more rows
alcohol$Edades <- as.factor(alcohol$Edades)
alcohol$Alcohol <- as.factor(alcohol$Alcohol)
# Resumen de los datos
str(alcohol)
## tibble [36 × 3] (S3: tbl_df/tbl/data.frame)
## $ Edades : Factor w/ 3 levels "20 - 39","40 - 59",..: 1 1 1 1 1 1 1 1 1 1 ...
## $ Alcohol : Factor w/ 3 levels "oz0","oz1","oz2": 1 2 3 1 2 3 1 2 3 1 ...
## $ Segundos: num [1:36] 0.42 0.49 0.65 0.45 0.47 0.6 0.39 0.46 0.7 0.4 ...
summary(alcohol)
## Edades Alcohol Segundos
## 20 - 39 :12 oz0:12 Min. :0.3900
## 40 - 59 :12 oz1:12 1st Qu.:0.5100
## 60 y mas:12 oz2:12 Median :0.6550
## Mean :0.7286
## 3rd Qu.:0.8850
## Max. :1.3000
Basándonos en el análisis exploratorio de los datos, podemos observar que el experimento incluye tres grupos de edad: 20-39, 40-59 y 60 y más, con 12 observaciones en cada grupo. Además, se administraron tres niveles de cantidad de alcohol: 0 oz., 1 oz. y 2 oz., nuevamente con 12 observaciones para cada nivel. En términos del tiempo de reacción medido en segundos, encontramos una variabilidad considerable en los datos, con una media de aproximadamente 0.7286 segundos. Los valores oscilan desde 0.39 segundos hasta 1.3 segundos, con un primer cuartil de 0.51 segundos y un tercer cuartil de 0.885 segundos.
library(ggplot2)
# Definir colores personalizados
colores <- c("#FF6F61", "#6B5B95", "#88B04B")
# Crear el boxplot
bxp_edades <- alcohol %>% ggplot(aes(x = Edades, y = Segundos, fill = Edades)) +geom_boxplot(alpha = 0.7, color = "black") + # Añadir transparencia y bordes
scale_fill_manual(values = colores) + # Asignar los colores definidos
labs(x = "Edades (Años)", y = "Tiempo (segundos)", # Etiquetas de los ejes
title = "Distribución del Tiempo de Reacción por Edad") + # Título
theme_minimal() + # Tema minimalista
theme( # Personalización del tema
plot.title = element_text(size = 16, face = "bold", hjust = 0.5), # Título
axis.title = element_text(size = 14), # Etiquetas de los ejes
axis.text = element_text(size = 12), # Texto de los ejes
panel.grid.major = element_line(color = "gray", linetype = "dotted"), # Líneas de cuadrícula
panel.grid.minor = element_blank() # Sin líneas de cuadrícula secundarias
)
# Mostrar la gráfica
bxp_edades
El tiempo de reacción parece variar significativamente con la edad. Los individuos de 20 a 39 años muestran los tiempos de reacción más rápidos, seguidos por aquellos en el rango de 40 a 59 años. Sin embargo, se observa una disminución significativa en la capacidad de reacción en individuos mayores de 60 años, cuyos tiempos de respuesta son considerablemente más largos. Además, la variabilidad en los tiempos de reacción aumenta con la edad; mientras que en el grupo de 20 a 39 años los datos están más concentrados alrededor de la media, en el grupo de 40 a 59 años se observa un aumento en la dispersión de los datos. Esta tendencia se hace aún más pronunciada en individuos mayores de 60 años, donde la variabilidad en los tiempos de respuesta es aún mayor.
# Definir colores personalizados
colores <- c("#FF6F61", "#6B5B95", "#88B04B")
bxp_alcohol <- alcohol %>% ggplot(aes(x = Alcohol, y = Segundos, fill = Alcohol)) +
geom_boxplot(alpha = 0.7, color = "black") + # Añadir transparencia y bordes
scale_fill_manual(values = colores) + # Asignar los colores definidos
labs(x = "Cantidad alcohol (oz)", y = "Tiempo de reacción (s)", # Etiquetas de los ejes
title = "Tiempo de reacción dependiendo de la cantidad de alcohol") + # Título
theme_minimal() + # Tema minimalista
theme( # Personalización del tema
plot.title = element_text(size = 16, face = "bold", hjust = 0.5), # Título
axis.title = element_text(size = 14), # Etiquetas de los ejes
axis.text = element_text(size = 12), # Texto de los ejes
panel.grid.major = element_line(color = "gray", linetype = "dotted"), # Líneas de cuadrícula
panel.grid.minor = element_blank() # Sin líneas de cuadrícula secundarias
)
bxp_alcohol
Los datos revelan una clara relación entre la cantidad de alcohol ingerida y el tiempo de reacción. A medida que aumenta la concentración de alcohol, se observa un incremento en el tiempo de reacción. Además, el análisis por grupos de edad refuerza esta tendencia, mostrando que a medida que aumenta el grado de alcohol, se incrementa la pérdida en la capacidad de reacción, independientemente de la edad. Se destaca que los tiempos de reacción tienden a ser más largos en presencia de mayores cantidades de alcohol.
# Carga la librería plotly
library(plotly)
##
## Adjuntando el paquete: 'plotly'
## The following object is masked from 'package:ggplot2':
##
## last_plot
## The following object is masked from 'package:stats':
##
## filter
## The following object is masked from 'package:graphics':
##
## layout
# Define los datos
datos <- data.frame(
Edades = c(rep("20 - 39", 4), rep("40 - 59", 4), rep("60 y mas", 4)),
oz0 = c(0.42, 0.45, 0.39, 0.40, 0.51, 0.55, 0.53, 0.50, 0.60, 0.59, 0.58, 0.61),
oz1 = c(0.49, 0.47, 0.46, 0.51, 0.70, 0.69, 0.73, 0.75, 0.85, 0.79, 0.88, 0.90),
oz2 = c(0.65, 0.60, 0.70, 0.66, 1.05, 1.10, 0.98, 1.12, 1.25, 1.20, 1.30, 1.27)
)
# Crea la gráfica 3D con plotly
grafico <- plot_ly(datos, x = ~Edades, y = ~oz0, z = ~oz1, type = "scatter3d", mode = "markers",
marker = list(size = 5, opacity = 0.7, color = 'blue'),
name = "0 oz.") %>%
add_trace(x = ~Edades, y = ~oz1, z = ~oz2, type = "scatter3d", mode = "markers",
marker = list(size = 5, opacity = 0.7, color = 'green'),
name = "1 oz.") %>%
add_trace(x = ~Edades, y = ~oz2, z = ~oz0, type = "scatter3d", mode = "markers",
marker = list(size = 5, opacity = 0.7, color = 'red'),
name = "2 oz.") %>%
layout(scene = list(xaxis = list(title = "Edades"),
yaxis = list(title = "0z", range = c(0, 2)),
zaxis = list(title = "t", range = c(0, 2))))
# Muestra la gráfica
grafico
El consumo de alcohol afecta todas las edades, principalmente las personas de mayor edad.
modelo1 <- aov(Segundos ~ Edades + Alcohol, data = alcohol)
summary(modelo1)
## Df Sum Sq Mean Sq F value Pr(>F)
## Edades 2 0.9166 0.4583 62.52 1.32e-11 ***
## Alcohol 2 1.4118 0.7059 96.31 5.00e-14 ***
## Residuals 31 0.2272 0.0073
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
El análisis de varianza (ANOVA) revela que tanto la edad como la cantidad de alcohol ejercen un efecto considerable en el tiempo de reacción, cómo lo anticipamos con el análisis exploratorio de los datos. Los valores significativos de \(p\) para ambas variables indican que hay diferencias significativas entre los grupos. La alta suma de cuadrados y los valores \(F\) resaltan la importancia de estos factores en la variabilidad observada en los tiempos de reacción. En conjunto, estos resultados subrayan la influencia significativa de la edad y la cantidad de alcohol en la capacidad de respuesta,
library(agricolae)
compara_edad <- duncan.test(modelo1, "Edades")
compara_edad$groups %>% rownames_to_column("Edades")
## Edades Segundos groups
## 1 60 y mas 0.9016667 a
## 2 40 - 59 0.7675000 b
## 3 20 - 39 0.5166667 c
Los resultados de la prueba de Duncan muestran que hay una diferencia significativa en los tiempos de reacción entre los grupos de diferentes edades. El grupo de personas de 60 años y más tiene significativamente más tiempo de reacción en comparación con el grupo de personas de 40 a 59 años, que a su vez tienen más tiempo de reacción que el grupo de personas de 20 a 39 años. Esto sugiere que el tiempo de reacción tiende a aumentar con la edad, lo que puede tener implicaciones importantes en diversas actividades que requieren un tiempo de respuesta rápida bajo la influencia del alcohol.
library(agricolae)
compara_Alc <- duncan.test(modelo1, "Alcohol")
compara_Alc$groups %>% rownames_to_column("Alcohol")
## Alcohol Segundos groups
## 1 oz2 0.9900000 a
## 2 oz1 0.6850000 b
## 3 oz0 0.5108333 c
Los resultados de la prueba de Duncan muestran que existe una diferencia significativa en los tiempos de reacción entre los diferentes niveles de consumo de alcohol. El grupo que consumió 2 oz tiene significativamente más tiempo de reacción en comparación con los grupos que consumieron 1 oz y 0 oz, que a su vez también difieren entre sí. Estos hallazgos sugieren que el aumento en la cantidad de alcohol está asociado con un incremento en el tiempo de reacción, lo que puede tener implicaciones importantes en términos de seguridad y desempeño cognitivo.